Software Botryology: Automatic Clustering of Software Systems
نویسندگان
چکیده
It has long been recognized that the decomposition of a large software system into meaningful subsystems is essential for both the development and maintenance phases of a software project We introduce the term Software Botryology for the area of research that at tempts to automatically cluster a software system In this paper we survey approaches to the cluster ing problem from researchers in the software engineer ing community We also present clustering techniques used in other disciplines and argue that their utiliza tion in a software context could lead to better solutions to the software clustering problem Finally we outline research challenges and open problems of interest
منابع مشابه
A partition-based algorithm for clustering large-scale software systems
Clustering techniques are used to extract the structure of software for understanding, maintaining, and refactoring. In the literature, most of the proposed approaches for software clustering are divided into hierarchical algorithms and search-based techniques. In the former, clustering is a process of merging (splitting) similar (non-similar) clusters. These techniques suffered from the drawba...
متن کاملHierarchical Clustering Based Automatic Refactorings Detection
The structure of software systems is subject of many changes during the systems lifecycle. A continuous improvement of the software systems structure can be made using refactoring, that assures a clean and easy to maintain software structure. In this paper we are focusing on the problem of restructuring object oriented software systems using hierarchical clustering. We propose two hierachical c...
متن کاملMethods for Evaluating, Selecting and Improving Software Clustering Algorithms Mark Shtern a Dissertation Submitted to the Faculty of Graduate Studies in Partial Fulfilment of the Requirements for the Degree of Doctor of Philosophy Graduate Program in Computer Science and Engineering
A common problem that the software industry has to face is the maintenance cost of industrial software systems. One of the main reasons for the high cost of maintenance is the inherent difficulty of understanding software systems that are large, complex, inconsistent (developed using mixed methodologies, have incomplete features) and integrated. One of the approaches that has been developed to ...
متن کاملSoftware Clustering Techniques and the Use of Combined Algorithm
As the age of software systems increases they tend to deviate from their actual design and architecture. It becomes more and more difficult to manage and maintain such systems. We explore the idea of software clustering for reverse engineering and re-modularization. Clustering together software artifacts provides an automatic technique for discovering high level abstract entities within a syste...
متن کاملارزیابی نرمافزارهای جامع کد منبع باز مدیریت کتابخانه: تحلیل مقایسهای PhpMyLibrary و Koha
Open source softwares are those which permit execution, copy, read, distribution, and improvement of the software without any restrictions. Also, automatic library systems can manage library functions. Commercial library sofwares are very expensive. Therefore, open source softwares can be appropriate alternatives for automatic library systems. In addition to providing the general concept of sou...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1998